Functions | |
template<typename T , typename I > | |
void | addDiagonal (BaseMatrixInterface< T, I > &A, const T &x) |
Shift the diagonal of this matrix by the specified value. | |
template<typename T , typename I > | |
double | norm2 (const parallel::Communicator &comm, const BaseMatrixInterface< T, I > &A) |
template<typename T , typename I > | |
void | diagonal (const MatrixT< T, I > &A, VectorT< T, I > &d) |
Get the diagonal from a Matrix and put in new Vector (fallback). | |
template<typename T , typename I > | |
MatrixT< T, I > * | diagonal (const VectorT< T, I > &x, const MatrixStorageType &stype=Sparse) |
Make a diagonal Matrix from a Vector. | |
template<typename T , typename I > | |
void | column (const MatrixT< T, I > &A, const I &cidx, VectorT< T, I > &c) |
Get a column from the Matrix and put in new Vector (fallback). | |
template<typename T , typename I > | |
void | multiplyDiagonal (MatrixT< T, I > &A, const VectorT< T, I > &x) |
Multiply this matrix diagonal by the specified vector (fallback). | |
template<typename T , typename I > | |
void | addDiagonal (MatrixT< T, I > &A, const VectorT< T, I > &x) |
Add the specified vector to the diagonal of this matrix (fallback). | |
template<typename T , typename I > | |
void | denseMatrixMultiply (const MatrixT< T, I > &A, const MatrixT< T, I > &B, MatrixT< T, I > &C) |
template<typename T , typename I > | |
MatrixT< T, I > * | denseMatrixMultiply (const MatrixT< T, I > &A, const MatrixT< T, I > &B) |
void gridpack::math::fallback::addDiagonal | ( | MatrixT< T, I > & | A, | |
const VectorT< T, I > & | x | |||
) |
Add the specified vector to the diagonal of this matrix (fallback).
Collective
.
A | ||
x |
References gridpack::math::BaseMatrixInterface< T, I >::addElement(), gridpack::math::BaseVectorInterface< T, I >::getElement(), gridpack::math::BaseVectorInterface< T, I >::localIndexRange(), and gridpack::math::BaseMatrixInterface< T, I >::ready().
void gridpack::math::fallback::addDiagonal | ( | BaseMatrixInterface< T, I > & | A, | |
const T & | x | |||
) |
Shift the diagonal of this matrix by the specified value.
Collective
.
x |
References gridpack::math::BaseMatrixInterface< T, I >::addElement(), gridpack::math::BaseMatrixInterface< T, I >::localRowRange(), and gridpack::math::BaseMatrixInterface< T, I >::ready().
void gridpack::math::fallback::column | ( | const MatrixT< T, I > & | A, | |
const I & | cidx, | |||
VectorT< T, I > & | c | |||
) |
Get a column from the Matrix and put in new Vector (fallback).
A | ||
cidx | ||
c |
References gridpack::math::BaseMatrixInterface< T, I >::getElement(), gridpack::math::BaseMatrixInterface< T, I >::localRowRange(), gridpack::math::BaseVectorInterface< T, I >::ready(), and gridpack::math::BaseVectorInterface< T, I >::setElement().
MatrixT<T, I>* gridpack::math::fallback::denseMatrixMultiply | ( | const MatrixT< T, I > & | A, | |
const MatrixT< T, I > & | B | |||
) |
References gridpack::math::BaseMatrixInterface< T, I >::cols(), gridpack::parallel::WrappedDistributed::communicator(), denseMatrixMultiply(), gridpack::math::BaseMatrixInterface< T, I >::localCols(), gridpack::math::BaseMatrixInterface< T, I >::localRows(), and gridpack::math::BaseMatrixInterface< T, I >::rows().
void gridpack::math::fallback::denseMatrixMultiply | ( | const MatrixT< T, I > & | A, | |
const MatrixT< T, I > & | B, | |||
MatrixT< T, I > & | C | |||
) |
References gridpack::math::BaseMatrixInterface< T, I >::cols(), column(), gridpack::parallel::WrappedDistributed::communicator(), gridpack::math::BaseMatrixInterface< T, I >::localRows(), gridpack::math::multiply(), gridpack::math::BaseMatrixInterface< T, I >::ready(), gridpack::math::BaseMatrixInterface< T, I >::rows(), and gridpack::math::BaseMatrixInterface< T, I >::setElement().
MatrixT<T, I>* gridpack::math::fallback::diagonal | ( | const VectorT< T, I > & | x, | |
const MatrixStorageType & | stype = Sparse | |||
) |
Make a diagonal Matrix from a Vector.
Collective.
This
x |
References gridpack::parallel::WrappedDistributed::communicator(), gridpack::math::BaseVectorInterface< T, I >::getElement(), gridpack::math::BaseVectorInterface< T, I >::localIndexRange(), gridpack::math::BaseVectorInterface< T, I >::localSize(), gridpack::math::BaseMatrixInterface< T, I >::ready(), and gridpack::math::BaseMatrixInterface< T, I >::setElement().
void gridpack::math::fallback::diagonal | ( | const MatrixT< T, I > & | A, | |
VectorT< T, I > & | d | |||
) |
Get the diagonal from a Matrix and put in new Vector (fallback).
Get the diagonal from a Matrix and put it in specified Vector.
Collective.
A | ||
x |
A
References gridpack::math::BaseMatrixInterface< T, I >::getElement(), gridpack::math::BaseMatrixInterface< T, I >::localRowRange(), gridpack::math::BaseVectorInterface< T, I >::ready(), and gridpack::math::BaseVectorInterface< T, I >::setElement().
void gridpack::math::fallback::multiplyDiagonal | ( | MatrixT< T, I > & | A, | |
const VectorT< T, I > & | x | |||
) |
Multiply this matrix diagonal by the specified vector (fallback).
Collective.
This is element by element multiplication
x | factor by which all diagonal elements in the matrix are multiplied |
References gridpack::math::BaseMatrixInterface< T, I >::getElement(), gridpack::math::BaseVectorInterface< T, I >::getElement(), gridpack::math::BaseVectorInterface< T, I >::localIndexRange(), gridpack::math::BaseMatrixInterface< T, I >::localRows(), gridpack::math::BaseMatrixInterface< T, I >::ready(), and gridpack::math::BaseMatrixInterface< T, I >::setElement().
double gridpack::math::fallback::norm2 | ( | const parallel::Communicator & | comm, | |
const BaseMatrixInterface< T, I > & | A | |||
) |